var express = require('express');
var router = express.Router();
var url = require("url");
var md5 = require('md5');

var MongoClient = require("./../mongodb/MongoClient");
var MySql = require("./../mongodb/MySql");

router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});

router.get('/addUser', function(req, res, next) {//添加数据到数据库
	var userObj = url.parse(req.url, true).query;
	userObj.password = md5(userObj.password);
	//状态表示是不是可以登陆的
	userObj.state = 1;
	userObj.isLogin = 0;//未登录状态
	userObj.img = "";
//	console.log(userObj)
	MongoClient.mongoConnect('pull', function(db){
		console.log('数据库连接成功')
		MySql.findData(db,"adduser",{username:userObj.username,password:userObj.password},{},function(result){
			if(result.length == "0"){//0代表没有此用户，可以插入
				MySql.insertOneData(db,"adduser",userObj,function(result){
					console.log('插入成功');
					res.send("1");
					db.close();
				})
			}else{//用户已存在
				res.send('0');
				db.close();
			}
		})
	},function(err){
		res.send(err);
	})
});

router.get('/readUser', function(req, res, next) {//读取数据库数据
//	console.log(userObj)
	MongoClient.mongoConnect('pull', function(db){
		console.log('数据库连接成功1')
		MySql.findData(db,"adduser",{},{},function(result){
			if(result.length == "0"){//没有用户
					res.send("0");
					db.close();
			}else{//用户已存在
				result.sort((a, b) => {
          return b.state - a.state;
        })
				res.send(result);
				db.close();
			}
		})
	},function(err){
		res.send(err);
	})
});

router.get('/login', function(req, res, next) {//是否处于登陆状态
		var userObj = url.parse(req.url, true).query;
		userObj.password = md5(userObj.password);
//	console.log(userObj)
	MongoClient.mongoConnect('pull', function(db){
		console.log('数据库连接成功')
		MySql.findData(db,"adduser",userObj,{},function(result){
			if(result.length == "0"){//没有用户
					res.send("0");
					db.close();
			}else{//用户已存在，改变其登陆状态
				//如果用户未被禁用，则改变其登陆状态，否则显示用户被禁用
				if(result[0].state == "0"){
					res.send('-1');
					db.close();
				}else{
					MySql.updateData(db,'adduser',userObj,{$set:{isLogin:1}},function(result){
							res.send(result);
							db.close();
					})
				}
			}
		})
	},function(err){
		res.send(err);
	})
});


router.get('/changeState', function(req, res, next) {//改变用户是否可以使用的状态
		var userObj = url.parse(req.url, true).query;
//	console.log(userObj)
	MongoClient.mongoConnect('pull', function(db){
		console.log('数据库连接成功')
		MySql.findData(db,"adduser",{username:userObj.username,usertel:userObj.usertel},{},function(result){
			if(result.length == "0"){//没有用户
					res.send("0");
					db.close();
			}else{
				//用户已存在，改变其登陆状态
				//如果用户未被禁用，则改变其登陆状态，否则显示用户被禁用
				if(result[0].state == 0){
					MySql.updateData(db,"adduser",{username:userObj.username,usertel:userObj.usertel},{$set:{state:1}},function(){
						console.log("更新成功");
						res.send('1');
						db.close();
					})
				}else if(result[0].state == 1){
					MySql.updateData(db,'adduser',{username:userObj.username,usertel:userObj.usertel},{$set:{state:0,isLogin:0}},function(){
							res.send('2');
							db.close();
					})
				}
			}
		})
	},function(err){
		res.send(err);
	})
});


//点击删除删除数据
router.get("/deleteUser", function(req, res, next){
	var userObj = url.parse(req.url, true).query;
	MongoClient.mongoConnect('pull',(db) => {
		console.log('ok');
		MySql.deleteData(db,'adduser',{username:userObj.username,usertel:userObj.usertel},(result) => {
			res.send('1');
//			db.close();
		})
	},(err) => {
		console.log(err);
	})
})


//点击修改信息
router.get("/reviseUser", function(req, res, next){
//	res.send("1")
	var userObj = url.parse(req.url, true).query;
	userObj.password = md5(userObj.password);
	console.log(userObj);
	MongoClient.mongoConnect('pull',(db) => {
		console.log('ok');
		MySql.updateData(db,'adduser',{username:userObj.username},{$set:userObj},(result) => {
			console.log("ok")
			res.send("1");
			db.close();
		})
	},(err) => {
		console.log(err);
	})
})

module.exports = router;
